package com.jingdianjichi.changerecord.annotation;


import com.jingdianjichi.changerecord.enums.ChangeFormatEnum;

import java.lang.annotation.*;

/**
 * 修改记录字段注解
 *
 * @author Hu_bx
 * @date 16:40 2022/11/9
 **/
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ChangeTag {

    /**
     * 标签,字段展示名字
     */
    String value() default "";

    /**
     * 字典code,为Null则不查字典
     */
    String dict() default "";

    /**
     * 格式化,默认使用默认类型格式化,即isDefault为true
     */
    ChangeFormatEnum format() default ChangeFormatEnum.AUTO;

    /**
     * 自定义格式化字符串，当format 为 CUSTOM，可使用formatStr自定义处理格式化
     */
    String formatStr() default "";

    /**
     * 是否为表格数据标识
     */
    boolean isTableTag() default false;


    /**
     * 是否排除,默认false
     */
    boolean exclude() default false;

    /**
     * 是否填充新值,替换旧值,默认false
     */
    boolean isFillNewValue() default false;

}
